package com.jyy.prefabricated.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyy.prefabricated.enums.BaseTeamEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 课程表
 */
@Data
public class Course implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;

    /**
     * 课程分类
     */
    private Integer categoryId;
    /**
     * 板块分类
     */
    private Integer plateId;
    /**
     * 课程类型
     */
    private Integer type;

    /**
     * 课程名称
     */
    private String courseName;

    /**
     * 培训机构
     */
    private Integer trainingOrganizationId;

    /**
     * 讲师
     */
    private String lecturer;

    /**
     * 原价
     */
    private BigDecimal listPrice;

    /**
     * 售价
     */
    private BigDecimal price;

    /**
     * 开课时间
     */
    private String startTime;

    /**
     * 学时
     */
    private Integer classHours;

    /**
     * 学习人数
     */
    private Integer studyCount;

    /**
     * 可分配数量
     */
    private Integer distributionNum;

    /**
     * 封面
     */
    private String pic;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 课程链接json（录播课）
     */
    private String courseUrls;

    /**
     * 资源id
     */
    private String resourceId;

    /**
     * 小鹅通视频链接路径
     */
    private String xiaoeUrl;

    /**
     * 租户编码
     */
    private String teamCode = BaseTeamEnum.BASE.getValue();

    /**
     * 是否置顶
     */
    private Boolean top;

    /**
     * 课程附件
     */
    private List<CourseFile> files = new ArrayList<>();
    private Boolean recommend;
    /**
     * 是否逻辑删除
     */
    private Boolean deleted = false;


    /**
     * 排序
     */
    private Integer sort;


    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;

}